package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.SysRobotType;
import com.ruoyi.system.mapper.SysRobotTypeMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysClientRobotMapper;
import com.ruoyi.system.domain.SysClientRobot;
import com.ruoyi.system.service.ISysClientRobotService;

/**
 * 用户机器人Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-12-26
 */
@Service
public class SysClientRobotServiceImpl implements ISysClientRobotService 
{
    @Autowired
    private SysClientRobotMapper sysClientRobotMapper;
    @Autowired
    private SysRobotTypeMapper robotTypeMapper;
    /**
     * 查询用户机器人
     * 
     * @param robotId 用户机器人主键
     * @return 用户机器人
     */
    @Override
    public SysClientRobot selectSysClientRobotByRobotId(Long robotId)
    {
        return sysClientRobotMapper.selectSysClientRobotByRobotId(robotId);
    }

    /**
     * 查询用户机器人列表
     * 
     * @param sysClientRobot 用户机器人
     * @return 用户机器人
     */
    @Override
    public List<SysClientRobot> selectSysClientRobotList(SysClientRobot sysClientRobot)
    {
        return sysClientRobotMapper.selectSysClientRobotList(sysClientRobot);
    }

    /**
     * 新增用户机器人
     * 
     * @param sysClientRobot 用户机器人
     * @return 结果
     */
    @Override
    public int insertSysClientRobot(SysClientRobot sysClientRobot)
    {
        sysClientRobot.setCreateTime(DateUtils.getNowDate());

        SysRobotType sysRobotType = robotTypeMapper.selectSysRobotTypeByTypeId(sysClientRobot.getRobotTypeId());
        if (ObjectUtils.isEmpty(sysRobotType)){
            throw new ServiceException("机器人类型错误,创建失败");
        }
        sysClientRobot.setRobotTypeName(sysRobotType.getTypeName());
        return sysClientRobotMapper.insertSysClientRobot(sysClientRobot);
    }

    /**
     * 修改用户机器人
     * 
     * @param sysClientRobot 用户机器人
     * @return 结果
     */
    @Override
    public int updateSysClientRobot(SysClientRobot sysClientRobot)
    {
        sysClientRobot.setUpdateTime(DateUtils.getNowDate());
        return sysClientRobotMapper.updateSysClientRobot(sysClientRobot);
    }

    /**
     * 批量删除用户机器人
     * 
     * @param robotIds 需要删除的用户机器人主键
     * @return 结果
     */
    @Override
    public int deleteSysClientRobotByRobotIds(Long[] robotIds)
    {
        return sysClientRobotMapper.deleteSysClientRobotByRobotIds(robotIds);
    }

    /**
     * 删除用户机器人信息
     * 
     * @param robotId 用户机器人主键
     * @return 结果
     */
    @Override
    public int deleteSysClientRobotByRobotId(Long robotId)
    {
        return sysClientRobotMapper.deleteSysClientRobotByRobotId(robotId);
    }
}
